
import Vuex from 'vuex'
Vue.use(Vuex)


// 在store对象中增加getters属性 感觉没啥用  页面调用后更改  组件中没有更改
const getters = {
  meihuaperson(state) {
    // 获取修饰后的name，第一个参数state为必要参数，必须写在形参上
    state.person.name = 'hahha'
    return state.person;
  },
}

//this.$store.dispatch('baocun_person',obj)

const mutations = {
	m_baocun_person:function(state,val){
		state.person = val
	},
  m_baocun_person2:function(state,val){
  	state.person = val
  },
  addluyou:function(state){
    state.luyou = true
  },
  
  addtoken:function(state,val){
    state.token = val
  }
}
//this.$store.commit('m_baocun_person',obj)

const actions = {
    // 增加actions属性
    yibugaiperson(content,person) {
      // 增加setNum方法，默认第一个参数是content，其值是复制的一份store
      return new Promise(resolve => {
        // 我们模拟一个异步操作，1秒后修改
        setTimeout(() => {
          content.commit('m_baocun_person',person);
          resolve();
        }, 1000);
      });
    },
}


//值
const state = {
	person:{
    name:'lin'
  },
  person2:"",
  luyou:false,
  token:""
}

export default new Vuex.Store({
	actions,mutations,getters,state
})
